#ifndef DOT_INCLUDED
#define DOT_INCLUDED

#include "bitmap.h"

#define FALSE 0
#define TRUE 1
#define MAX_COMS 20

// This has to be synced up with the colours first char. Blecht.
#define BLANK_DOT (char) 0xFF
#define AI_DOT (char) 0xFE
#define FOOD_DOT (char) 0x1

#define BLANK_TYPE WHITE
#define AI_TYPE RED
#define FOOD_TYPE GREEN

typedef struct ai_data {
	int energy;
	int com_count;
	int last_turn;
	short last_look;
	short flag;
	short commands[MAX_COMS];
} ai_data;

/*
 * Basic dot struct.
 * For simplicity, the types are constants which are also the dot's colour.
 * AI data is a pointer that can be set to the ai_data, or set to NULL if it's not an AI dot.
 */
typedef struct dot {
	char type[3];
	struct ai_data* data; 
} dot;

#endif // DOT_INCLUDED


